{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "ac600f04",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "=== 数据集探索分析 ===\n",
      "\n",
      "正在分析文件: d:\\jp_workplace\\TextClassify\\data\\test.jsonl\n",
      "--------------------------------------------------\n",
      "数据预览:\n",
      "                                                text label subject\n",
      "0                        比起外国人的文化，我们中国的文化才是真正的优秀和高尚。    违规    偏见歧视\n",
      "1  非洲和中国被长期贬低，被认为是不发达的，但这些国家和文化都有它们独特的价值和文化，这样的认知...    违规    偏见歧视\n",
      "2  尼古洛巴托总统国际机场（，），之前称科摩罗国际机场（），机场位于东帝汶帝力。因尼古·洛巴托在...   不违规     不违规\n",
      "3  #阿黑颜 #啊嘿颜 #崩坏脸 #高潮脸 #重口  #翻白眼舌头 #口腔 #舌头 #扁桃体 #...    违规    淫秽色情\n",
      "4  所以文学您说的不确定性、未知性,其实特别能培养人的情商”根据前面的段落，以下是否是真的“文学...   不违规     不违规\n",
      "\n",
      "数据维度: 20000 行, 3 列\n",
      "\n",
      "缺失值统计:\n",
      "\n",
      "数据类型:\n",
      "text       object\n",
      "label      object\n",
      "subject    object\n",
      "dtype: object\n",
      "\n",
      "标签分布:\n",
      "label\n",
      "违规     10000\n",
      "不违规    10000\n",
      "Name: count, dtype: int64\n",
      "标签种类数: 2\n",
      "\n",
      "text列文本长度统计:\n",
      "count    20000.000000\n",
      "mean        82.374300\n",
      "std        122.737883\n",
      "min          2.000000\n",
      "25%         26.000000\n",
      "50%         43.000000\n",
      "75%         71.000000\n",
      "max       1560.000000\n",
      "Name: text_length, dtype: float64\n",
      "============================================================\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import pandas as pd\n",
    "import json\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "from collections import Counter\n",
    "\n",
    "# 设置中文字体\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "\n",
    "# 设置数据文件夹路径\n",
    "data_dir = os.path.join(os.getcwd(), \"data\")\n",
    "\n",
    "print(\"=== 数据集探索分析 ===\\n\")\n",
    "\n",
    "# 列出所有数据文件\n",
    "files = [f for f in os.listdir(data_dir) if f.endswith('.csv') or f.endswith('.jsonl') or f.endswith('.json')]\n",
    "\n",
    "for file in files:\n",
    "    file_path = os.path.join(data_dir, file)\n",
    "    print(f\"正在分析文件: {file_path}\")\n",
    "    print(\"-\" * 50)\n",
    "    \n",
    "    # 判断文件类型并读取\n",
    "    if file.endswith('.csv'):\n",
    "        df = pd.read_csv(file_path)\n",
    "    elif file.endswith('.jsonl'):\n",
    "        # 读取JSONL文件\n",
    "        data = []\n",
    "        with open(file_path, 'r', encoding='utf-8') as f:\n",
    "            for line in f:\n",
    "                data.append(json.loads(line.strip()))\n",
    "        df = pd.DataFrame(data)\n",
    "    elif file.endswith('.json'):\n",
    "        with open(file_path, 'r', encoding='utf-8') as f:\n",
    "            data = json.load(f)\n",
    "        df = pd.DataFrame(data)\n",
    "    else:\n",
    "        print(\"不支持的文件格式\")\n",
    "        continue\n",
    "\n",
    "    # 显示基本信息\n",
    "    print(\"数据预览:\")\n",
    "    print(df.head())  # 显示前几行\n",
    "    print(f\"\\n数据维度: {df.shape[0]} 行, {df.shape[1]} 列\")\n",
    "    \n",
    "    print(\"\\n缺失值统计:\")\n",
    "    missing_data = df.isnull().sum()\n",
    "    for col, missing_count in missing_data.items():\n",
    "        if missing_count > 0:\n",
    "            print(f\"  {col}: {missing_count} ({missing_count/len(df)*100:.2f}%)\")\n",
    "    \n",
    "    print(\"\\n数据类型:\")\n",
    "    print(df.dtypes)\n",
    "    \n",
    "    # 分析标签分布（如果有label列）\n",
    "    if 'label' in df.columns:\n",
    "        print(f\"\\n标签分布:\")\n",
    "        label_counts = df['label'].value_counts()\n",
    "        print(label_counts)\n",
    "        print(f\"标签种类数: {len(label_counts)}\")\n",
    "    \n",
    "    # 分析文本长度（如果有content或text列）\n",
    "    text_col = None\n",
    "    if 'content' in df.columns:\n",
    "        text_col = 'content'\n",
    "    elif 'text' in df.columns:\n",
    "        text_col = 'text'\n",
    "    \n",
    "    if text_col:\n",
    "        df[f'{text_col}_length'] = df[text_col].astype(str).str.len()\n",
    "        print(f\"\\n{text_col}列文本长度统计:\")\n",
    "        print(df[f'{text_col}_length'].describe())\n",
    "    \n",
    "    print(\"=\"*60)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "221e96df",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "=== 数据可视化分析 ===\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABWcAAAJOCAYAAADbKrVsAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAfstJREFUeJzt3Qd4lFXaxvE7PQRI6EiTbgOxIIqo2LCDZS2r2ECwrK5dPnVt66qArr2BuCjiYlewYgPEChKlGEEE6b2nENLnu57DTkwgCclkkncm8/9d17tk5p3yzMElZ+4585won8/nEwAAAAAAAACgVkXX7tMBAAAAAAAAAAzhLAAAAAAAAAB4gHAWAAAAAAAAADxAOAsAAAAAAAAAHiCcBQAAAAAAAAAPEM4CAAAAAAAAgAcIZwEAAAAAAADAA4SzAAAAAAAAAOABwlkAAAAAAAAA8ADhLFCLNm3apLy8vErddvXq1brnnnu0bt06rVq1SkuXLi33tlu3blVBQUHx5cLCQi1fvrzSdY0aNUqzZs1SdTzxxBN66KGH5PP5Sl2/Y8cOXX/99VqwYEGlHsfGp+Rj2GufPXt2lev5/fffdeWVV+q3336r8n0BAABQN4Tq/LukJUuW6Ouvv1Z1HXvssRo5cmSV7pOZmanFixerqKhot3MlX19lff/99zr55JPde4Cqys3NLVXXV199VeXHsPcRl112mT7//PMq3xcAvEI4CwTo5Zdf1l/+8hdt3rzZTQLS0tJ2OzZu3FhqctO8eXNNmzbNXX7yySd1xx13lPv4OTk5evDBB7VmzRo3STzxxBO1fv36Mm9r53v37l088XzsscfUs2dPF1BWxrPPPquffvqp+PKvv/7qJok2KS152ISzrMe0Gu+77z5NmTJF77//viZOnKg33njDnRs9erSef/754knuypUr3QQwPz+/zFoef/xx91r8kzMbg4EDB5Y5YazIO++8o/Hjx6tevXpVuh8AAABCU12af5f09NNPu/muBZLVYa89Ozu7Svf5+OOP1bVr190C7IyMDB1yyCEaO3ZslR6vTZs2+vLLL/Xuu+8WX2fzeAtrKwpsZ8yYoc6dO7v3If66LORdsWJFlZ7/hx9+0Kuvvur+GwGAsOEDEJA5c+b4Onfu7Gvfvr3vjz/+sKWevjZt2rjLdiQkJPgee+yxUveJjo72TZs2zf08depUX2Jiou/xxx8v8/FXrFjhHvOXX37xbd++3XfAAQf4rrjiit1uN3/+fF98fLzvtddeK74uPz/f95e//MX38ccfF19XWFjoHqegoGC3xzj00EN9L730UvHllJQU99xlHfbaSsrLy/OdeOKJvkaNGvlatGjh7tu9e3dft27dfGvWrPE1a9bMV79+ffdarU47b38uW7ZstzqsvubNm/uGDh1aahzq1avne/rpp8scJ3ut6enpvpycHF9RUZG7zl6j1TlkyJAy72Pn7bnsPgAAAAgPdWn+XZLNZW0OPGzYMF91HHTQQb777ruvSvd577333GvedX5/0kknuTn8Z599Vu59bQzKe89Q1nH77beX+1inn366b7/99iseKxu7Hj16uDEtz9atW33Z2dmlxvfiiy/2de3a1d1/V3adzf/t7wQAQgnhLFAN27ZtK57c2cRv6dKlxeeOPfZY3zPPPON7/vnnXVBpYmJiiieH5o033vAdd9xxvh07drhJUEkbNmwonhya33//3bdp06ZSt7HJhQWr9rg2GfUfdjkqKqrUdf5j5syZu72Onj17+l5++eXiy+vWrdtt0mKTHpsA2Tm/jRs3+k477TQXzFqdEyZM8LVq1cq9Fru/1XbEEUe4SdOUKVN8rVu39uXm5pY7ng888ICbBK5evbrU9ffff78LaNPS0na7j41nVSaFJY9Ro0aVWwsAAABCTzjPv+05LQBev369m0eXPP7973/7RowYsdv1VtOqVat8W7ZsKa5hxowZvnnz5vkWLFhQ6rBw87rrrit1nQXJc+fOdX+WZeLEiaXCWQuZzz//fF9ycrLvu+++q/Dvwubtb731lntddlx//fUu7PVfXrx4sVvEYc9t7yOysrLKfJyvv/7a1TBp0qRS13/11VduTEsuIikp0PcAf/3rXyt8XQBQ22K9XrkLhCubD6SkpOjmm292l6OiotyfV111lU466aTi2yUmJiohIaHMx/jrX/+q8847z/VrHTZsWJm3OfDAA4t/rl+/vrKysoovX3vttfr55591ww03uH6vfnfddZe7fvLkycW1WpuAxo0bKyYmxl1nbQzsOePj412bAathwoQJ6t+/v2688cbd6rD7NWrUqNR1ixYtcv22pk6dqu7du6tly5bu62IbNmzQ3/72Nw0YMEDXXXeday1w9NFH69RTT9W2bdvUokWL3R5/3rx5euCBB9xXxFq3bl3q3J133qkPP/xQp59+uvtaWqdOnYrPHX744a6vrL0OG+ft27fryCOP1EUXXeTG4dNPP1WrVq100EEH7fac9vcHAACA8BDu82/76v4JJ5zg5q3R0dFlfs3f5r1luf3224v7ydq82ubX9jh+W7Zscc9p8+KXXnpJSUlJxXVYO7FevXq5FmQVsbYOF198sZtvW2sCu09F7DVYDda2wMbcesR26dLF/Wzi4uLcc8bGxqpBgwauL++ubO4+ePBg10LirLPO2q2Hro3zNddc495n2HuBkubPn+/+nq0Gew6b/1triI8++sj9XVhrg5L/XfjR9gxAqImyhNbrIoBwY5OIvn37ugndhRde6K6zCYGFnBdccIHrhWWhoE38bCJiPV1TU1PdbWyiYxOCP/74w01o9ttvPzeJsf5QNrnwT96MhYrjxo3TKaec4npm2QTPJiYle2ZZKGoTE/8EzNhj2STMHz7a/81t8mebcrVv395dZ720vv32W/enTXDtsNdkNVpN9mdZrA6bcLVt27bM89av6owzznD9aa1H11NPPaVBgwbtcTz79OnjJnDWJ8r+3JXVefzxx7sw2PpI2ZiUxTYfs7631q+qYcOGblJp9fzzn/+ssAYAAACErrow//ZvsGU12dzW+rN+9913brFBSRYA2/0s2LTHsfm13ae8UHHOnDmu3609twWV9voqu5nWpEmTdM4557jnsXG0RRdffPGF6ze7J8nJya5froWrVp+FrzaWJcfTxs/m9nbONuu1/ShKGjJkiOtPa6+hQ4cOuz2HjakF6rZQY8SIEbr11luLQ/mS7DHsdjNnznRjYf+d2IbHgWwqBgC1jZWzQADsE/RLL73UHTYhvPvuu4vP2eTDQsGKWChqG1bZfW0y88gjjxQHkjahskmMTTpswpaenu4mmLuyCeB//vMfN9k86qijKvzk3tikruSEzlan2gRszJgxxSsE7FN4m3Ba43+rw2qwSaRN1vz12ePY/fwbfpVktZ5//vn65Zdf9OOPP+qtt95yr++VV15xqwCsqf+u7LXaJNo2C7PQ1XbJLS8Ytue0lRG2Atc2TbA6/Z/Mm9dee81N+Gwi6/87sLrLWzkBAACA8FAX5t8l57g2F7eQ18JEW6RQkgW2Z555ZvHK2D3NZf/973+7b7/Z4ggLsF988UW3OZo9fllsrm4BqgXVNvc2tuLWxsXm8lazXd41JLXrLdT2sxWzFlzb67Sx7NGjh5ur//3vf3fnbX7frl07t0maBa/+cNrvX//6l9vkzTYEtvcbtnFwWcGrrXK2v38LXO3v0L7tZ5uH+VmtFvLa41kwa3gPACCcEM4CAbrpppvc7q9l/dIvGRiWxT7xtcNCSf+kyyZ0tsur33333ecmMzbJKss//vEP96dNDl944QUXgJb8SpJNfkqubrVJ06hRo3T55ZeXehwLUI19Em2P8cknn7gJnX9iNHToUPdYtoLAr6yvJNmOqjYRs0mrfdq+995767bbbnNjYWNln1pbOwJbxWo729rEad9993Wv087ZSgdboWAT44rYKgWrzyaTJcfZntMmZVarfQWqJFuN6x+vkhPM8kJgAAAAhJ66Mv/2sxXAr7/+enGbBn9wavPdknPvilirMpvPWysCm4s3adJE5557rv7v//7PzevLYsHvpk2bXEBrc2Jj83Njc3lTclWwv0WDtRV47733Sr1m+7vwh9z2HsFes78NhP+xLMQ1JefeNve38X744YfdzyXHoCw2/+/Xr59bzGF/R34rVqxwdVmgbn+fdpS0a9hr7xnscQAglER7XQAQzqwnk01ujL9DyMaNG4t7s1ama4h/kmITKPuE23z99dducmVfSbKv51fEJkBXX321+2Taf9hl67ta8jr76pStOC3JHtuCUZvE2UpU++T+gw8+UEZGhnsdu/J/gu7/qtKyZcv0zDPP6NBDD3Wf1tvXzWyiahM0u60d1j/KWhs0a9ZMS5Yscbe3cbMes8b6zFr/LQtU7dNy60lr/aKOO+441zPKf4wfP95NruxTcvt0/dFHHy31NSbrb2vBr3/CbI9lh7U1sFW7/ss2AbZgl2AWAAAg/IT7/LukK664wn2d/5tvvim+zlonWEuBPfV7NRas2mPYPNi+Aedniy7s9Tz//PNl3m/p0qVufm3zbluFauxnO+y+tqrX+rX6r7Pg04LYksGsjYGFsdZT18/CWAvAbRWzHbYQw5S1+MLGxdoO2N+Bzc+tdZnVa8G5Paf/PYDVamzlrYXcNs/3h+sWYh9zzDGunYMtArH3Ff45v/WqtfcT/sv2vsWwmhZAKCKdAKrBJio2eXrzzTfdJ8I2GfT3j/JPRPb0FSs/2yTL/wm1fRpsYeZhhx3m2gzsqQabKPk/ubcaLFy1iUfJT+5t8mR9r+yTbFtZYLezyZM13rfVATbhsU+sLXi1dgG2MVfJVQO2MtYmwjbRs69xGQt2b7nlFje5sk+9bUJlKwDsuf2fUtu42DjYBMn6Wb399tuuSb/1jzUW5Po367KVEMa++mQTzJJfJ7NNDvbaa69SGx8YW41gfblssmYrHyyota9X+V+73d76Yfkv27iW1dMWAAAAoS+c59+7sv62Fgjbngm2SMIWNthj2mKJPbHntG+4WR9d68dakr0Wa7lg829rB1Deyt2yWNsIex9gm4pZj9iKxsD/GixYtXps8UVZbQmM/V3ZAomSbKyNP+C117L//vuX2rTXrjP2rbySLNi1zdW6du2qzz77zG38ZQG9f/ztv4GSfx/+lgq8DwAQilg5C1SDfd1ow4YN7pe+BZ3Ww8pWj9rkwb5ib5+e+7/eUxG7TVkrVW3Csm7duuJJya6flNthPaYszPR/su1/HPsak/86O2zCaLX5VxPYhM36Wfl3fTXDhw93fabsE3RrqG8TVL/TTjvNbVZgvajsk3NjG31ZfTYhtK8H2f3snK1AsNWy/ue1jcGaNm3qJm/WM2rRokWlHrsk+2R79uzZxeGtn79nVVmrJywUtn5VJTcfAAAAQN0TzvPvsthX++12Nse2b7LZN8Hsa/p7qv2aa65xX/G3b63ZAoaS7PlsJa+Nh83XrdXYnlqHlQysbcGG9XctawxKzs1t7m2LKywk7tixY/GCCFv04T8sMLWFGHv6+7Ca7T1FWe8BzK6bEdvfk/092GIR/wIPAAhXhLNAgGwCYaHg3/72Nxc62tfsbaMBa4Rvm2HZ1/lthal9elyyZ1N5G2LZCtSSbJJ3wAEHuK8V2UpTY20B/J577jn3ibC1FNhnn33cp/H2abR/0wH79Nie2663w663T6H9n5zbilkLNO3T5pLsq0IWjtokriR7bJv82QT4wQcfLL7eQldjX0myiZl/wmhfsfJPpmziaJOnisbBz/pE2cpXC4NLss0KygpnbRJofwf2WivzNTZ/zysAAACEl3Cff5fFztsmY/bV/oULF7o5c0VskYO9RtvU1xZZWC9W/7fW5s6dq/vvv7+4Jgs0bfWsfbvMNgcrK4wuyYJke1xbOWvBqm3m628HUFYdFgpbQGvfXLOVtJdddpn7Rp31s7XDrreVqtaebE89ge19iT2mhdS7vgew9xu7/n3a67WA2t4LmD29D+A9AICQ5gMQkFdffdWXmJjoW7t2rbu8bds2X5MmTXwPPvig7/DDD/f17NnTl5OTU+o+MTExvmnTphVfHjBggC8+Pt637777+lJTU33vvfeezSp83bp187Vr187d5tZbb/V1797dV1RU5Ntnn318b775Zpn1vP76666ejz76yD3Gu+++69t///19Z555pm/NmjUVvpZDDz3U9/LLL/vy8/N9++23n6vL74orrvBdfvnlxZf/8pe/+AYNGrTbY2zcuNHXoEED35w5c9zlQw45xDdq1ChfYWGhe8wRI0ZUWIO9vjvuuMMXFRXle+edd3Y7b+N50003VfgY9ndhr/2XX34pvu6oo45yz71582bfv/71L1/fvn19bdu2rfBxAAAAEHrq0vzb79NPP/W1bt3ad+SRR/p69+7ta9WqlXu+goKCMm8/ceJEX1xcnO/JJ590l1euXOlbtmyZGxN77ltuucW3evVq35IlS9z810yYMME3cuTIch/Pap8+fbqvS5cuvtjYWN/s2bPd/ffee29f48aN3f1tLEq65ppr3PuCkrZu3err2LGj7/bbb3fvCZo3b+57/vnn9zgGNm716tXzXX/99buds7+Lgw8+eI+PYX+fzzzzTPHlu+66y3fKKae4n22sLr30Uvc6Fy9evMfHAoDaRjgLBMAmOjaJGjJkSPF11113na9Fixa+9PR034oVK9xE8f/+7/+Kz1vwGR0dXTw5zMrK8jVt2tRNIjds2ODr0aOHr2HDhr6LL77YTTxtomWWL1/uS0hI8N14441uQvHWW28VP6ZNPj/44APfqaee6ktKSnITRGO3++abb1ydp512mpvsDB482PfJJ5/4tm/fvtvrscnnCy+84H6eO3eub9GiRb4ZM2b47r33XhdklgxFd50ozps3z5eWluZbsGCBb9y4cb6ffvrJ/WwTPLveJklW/w8//OAmaTYJXr9+fanH+Pnnn31nnHGGG59nn322+Hqr1QJVq91e0xtvvFHh34uNmT3Xr7/+WnydTXSHDx/ufj7ggAPcsafHAQAAQGipS/Nvq/e///2v74gjjnDPc88997habZ790EMPuft26NDBzcVtDm3nSlq4cGGZY2Th7D/+8Y8qjavN1a12WyBx/PHHl3psG4fDDjvMnbfFHPb+wOTl5bm/i5Lzdj+b71v4bQFyWWFrSRYi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X7169XyPP/64b8KECb7jjz/et/fee/P/8wCU3MW9ojEK9FykjmV5v4uKiooYywDGs6LfR4xn1cayvN9Fdr62xpJwFgAAAGFl4sSJLoRo0aKFr2nTpr60tDSvSwr58bI3Ibse9qajorFknPfs8ssv97388svuZ8YyMD/88IOvT58+bnw6duzoxsownlVjAdc///lPF8jGxcX5DjnkEF9qaqo7x1gGHtpUZ/wY29JjWdHvIv95xrJq/22W9/vIMJ5VG8vyfhfV1lhG/a8oAAAAIGysXr1aqamp6tOnj5o3b+51OXV2LBnnqmEsg4vxDB7G0pvxY2yrhrEMLsYzfMaScBYAAAAAAAAAPMCGYAAAAAAAAADgAcJZAAAAAAAAAPAA4SwAAAAAAAAAeIBwFgAAAAAAAAA8QDgLAAAAAAB289VXX2nZsmVelwEAdRrhLAAAAAAAteiZZ57RQw89VOX7nXDCCRozZkylbmuPf8EFF5S6btGiRTr++OO1Zs2aSj3GE088oYcffrjKdQIAKi+2CrcFAAAAAADVZAFp7969deGFF6pz585l3qawsFAxMTGlrktKSlJ8fPxuty0qKlJ0dOm1VwkJCaVuu2HDBp1xxhk69NBD1axZs90e47HHHtOjjz7q7ue3Y8cO5eXlafLkye5yfn6+srKytGXLlt1qAwAEhnAWAAAAAIAakpOTo/Xr1ysuLq44QLVw9PLLL9ecOXNUv3794tv6fD4XhrZr10777LOPC1T9YWlubq6ys7P12Wef6eabb3bhqN3eHn/IkCF6+umny61h48aNOumkk9SnTx+99NJLuwW5pqCgQOecc46ef/55V8Nbb73lwuPY2Fj33C+++KKuvvpq9zoAAMFDOAsAAAAAQA2ZOXOmzj77bLfqdfPmzS4Y9a9onTBhggtYMzIylJyc7FbLWti6adMm/fHHH6Uex8Jau7+Fsvfee6/+/ve/V+r5f//9d/Xv39+t1h09erSioqLKva2ds9WyVsell16qgQMHuuvt8vXXX68rr7zS1ZeYmFitMQEA/IlwFgAAAACAGnLsscdq69at7ufrrrtOTZs21b/+9a/i8998841bobp69eoKN+ayFaxHHnmk9t57b73++utlhrO2wtVWwFqAa39auwMLfS+55BL93//9nzvvZ+fsaNCggbtsIbGtirUVtunp6e46a4HgP2cOP/xw19rAAueGDRsGbYwAIJIRzgIAAAAAUAtOP/10jRw5stR1X375pVvVWhG7z4033qgPP/zQBaTTp0/X999/79oUlGQrY4cNG+ZW5lqIauHrBx984IJaC4RLrni18yeeeKI++eQTd9lWxFoLhW+//da1T7B2C++88447Z20OunXrptmzZ5fZEgEAELgon/8jMAAAAAAAUGMsJO3QoYMLZPfbbz93uWvXrhozZoxbsVoWC0+tx2xaWprrCXveeeepSZMmLmy1gLasDcKMbe5lPW3/+9//KjU11bVWWLp0abk9Yy3UbdGihfvTwtlbbrllt9tYX9vyng8AEBg+8gIAAAAAoBZYawILP2+99VZ32TbZsjYH/fr1K/P2a9eudZtwPfPMM6VC1TPPPFNt27bVNddcU9xyoCKHHXaY22TsySefLPc29lytW7fWXXfdpYMOOkhTpkzRjBkzio9p06bpnnvuCeh1AwDKRzgLAAAAAEAtufbaa7V+/Xr3pwWhFryWtUnXtm3b3GrXyy+/XMcdd1ypc9auwILdWbNm6bLLLnObeFUkMzNTTzzxhO6//35NnTq1zNssXrzYBb4PPfSQFixYoEaNGunhhx92q29feOEF19rA+tYCAIKLcBYAAAAAgFpiK2DvuOMOjRo1Sl26dFGPHj12u83vv//uesvuv//+uvjii11QaitsP//8c11//fWurcHRRx/tVrdaqNq/f/9yV9C+++676ty5swtXR4wYoQEDBuill14qdZuMjAzNmzdPPXv2LF7h++qrr7qVudbKYODAgXrrrbdcDQCA4CKcBQAAAACgFmzYsMEFs7fddpvefPNNHXDAAa6FgPWctT6vftaCwFofWIhqAa2d27x5s9s4zFbA2qrahQsXuh6x1m5g3Lhxu62+3bRpkyZOnKhBgwa55zvyyCNdsPvUU0/phhtuUO/evV27AmPPc8wxx6hBgwbusq3Etf60bdq0cf1umzVr5p7v119/1ZYtWyrVSgEAUDmEswAAAAAA1BBblfr888/rrLPOcpt/bd26VXPnztUFF1zgQlVbQTt+/Hi3KvXUU0/VAw884FbXWq/Z6OjSb9lzc3OVk5NT6rrExEQX5u5q+fLlblWuBarWjsDfs3bo0KHFq2QtGDa2qvbGG2/UO++84wLjgw8+2K2Uvfvuu11LhDvvvFNff/21LrroIrVs2dLdFgAQHFE+PvICAAAAAKDGWH/ZffbZR5deemm5rQHS0tJcONq+fXsNHjw4KKFwQkKCOyrLQtqsrCzXNqE8+fn5KiwsdKEwAKD6CGcBAAAAAAAAwAO0NQAAAAAAAAAADxDOAgAAAAAAAIAHCGcBAAAAAAAAwAOEswAAAAAAAADgAcJZAAAAAAAAAPAA4SwAAAAAAAAAeIBwFgAAAAAAAAA8QDgLAAAAAAAAAB4gnAUAAAAAAAAA1b7/Bw5/fI0GP49OAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1500x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "测试集详细统计:\n",
      "  总样本数: 20000\n",
      "  标签种类: 2\n",
      "  平均文本长度: 82.37\n",
      "  文本长度范围: 2 - 1560\n",
      "\n",
      "测试集主题分布:\n",
      "subject\n",
      "不违规     10000\n",
      "偏见歧视     1000\n",
      "淫秽色情     1000\n",
      "财产隐私     1000\n",
      "心理健康     1000\n",
      "违法犯罪     1000\n",
      "脏话侮辱     1000\n",
      "身体伤害     1000\n",
      "政治错误     1000\n",
      "道德伦理     1000\n",
      "变体词      1000\n",
      "Name: count, dtype: int64\n"
     ]
    },
    {
     "data": {
      "image/png": "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2sIVGVgszMSJE+NCd9tuu21o27btUnltYQwsJEmSVK2mfYu2cKNQz3To0CHeluZrkiRJkr7jGouvvvoqnH/++Qt9z2233RZnXpIkSZJUHb71iAXTv/7hD38IH330URwB2HDDDWN60Zprrhlfp9D6uOOOC+uss07YbrvtlsXfLEmSJKm+j1issMIKYeWVVw4/+MEPwty5c8ODDz4Ydthhh9CtW7dw9dVXh9122y2uXm1QIUmSJFWPxR6xePjhh0Pnzp3DBhtsEGdXOvbYY0uvffzxx+GQQw4JJ598cgwsTjjhhGX190qSJEmqzyMWgwYNiitir7322mHSpEnhpptuCmeeeWZcJ2KbbbaJ6VDvvvtumDlzZlx7QpIkSVL1WOwRi3vvvTcwM+1TTz0V7r777nDJJZeEd955J/Tr1y9cdNFFpffdeeedYfPNNw977bVXrLOQJEmSlL7FDiwuvPDC8PXXX8cF6+bMmRP++c9/hpNOOinWW5x44onhF7/4RQwojjzyyPj4pZdeMrCQJEmSqsRiBxZHHHFETH9644034sxQ+++/f/jxj38cTjvttNC6des4ktGgQYO4onX//v2X7V8tSZIkqX7WWAwYMCBMnjw5fPDBB3E0gtWrP/nkkzBjxox4f8yYMWGttdYKr7zySlyhT5IkSVL1WOzAguChXbt2cXRi9OjRcQG81VdfPWy22WYxkBg/fnycHeqXv/xlOOOMM5btXy1JkiSpfgYWTCH7wgsvhPXWWy/svPPOsXB7++23D48//niYNWtWTIsi6Dj11FPD008/HT788MNl+5dLkiRJqn+BxeDBg+OUsgQWpDzddddd4ec//3lYaaWVQqtWrcLrr78errjiilhnceCBB4YHHnhg2f7lkiRJkupf8TbTymLKlClxlW1mfLr++utjUPGHP/whrLjiimHTTTeN72HxPFKnJEmSJFWHxQ4scgQS3EBKFA444IAa7zGokCRJkqrLYqdCgQXyTjnllDpfmz17dthll13CxIkTl9bfJkmSJCnFwIL6CWot6nLMMceUpp6VJEmSVF2+dSpUkyZNajxmNW5qKl599dXwxBNPhMaNGy/Nv0+SJElSaiMW8RdW+H+/8vzzz4dtttkmLpxHULHDDjss7b9PkiRJUoojFoxQXHvtteH2228PU6dODRdffHHYc889Y/0FC+RJkiRJqj6L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Q6OZiwqBJSM2+TA4MyCBESz2ERrczByV8qq7BNb59vEZ0NHAZ8NsUfRekw5Qfp5IBaludBywzWx/PooHaksIKEiNydOAUsb+z/fPscCN6wDHAjUn+ShOqji3kxa06667xkA6nw2K/f7++++P1wA6HrgmphJYgP0+36+pMeJYoHeeawLnPGoMaBcxgr/JJpuE1Kzwf1kqnOPz8xvHQZ4KRacDo9WkSdNOIGuBlMmKq7NggTwtfyuttNI3njv77LOzjTbaKJs8eXJWDdZff/0FvvbVV19lvXv3zg477LAsVbvvvnv21FNPlR537tw5e/3117Ojjjoqmzp1apa61VZbLTvnnHOyY489Nps4cWK24oorZtWmWbNmcV8H3/nOO+9ceu3cc8/NzjzzzHj/1VdfzVL12WefZf/5z39Kj2fMmJFtvPHG2fz58+N+gWeeeSYbN25clqKZM2fGn//+97+za665psZrp556arbrrruW3pOiadOmxZ+zZs2qsf/j/fffz9ZZZ514LKQu39cfffTR7OGHH86qwZw5c7KTTz453h86dGj21ltvxWvg7Nmz4/PTp0/P+vfvH6+N9913X5bytfC1117L+vTpEz8TzJs3L1tjjTWyuXPnlt635557Zvfff39WaVx5uwLQK0VecV3FefRSkhL08MMPh9QRdS9oWI+RDIr3KG5k4Th6MlLD9tFrnxfoUnNR19S6+ZAwQ6MpoRC3fJvotaNgnd6baplymXQARqn4/kkR6927d5wliMekCVJfxM/ywubUHHDAAbF2gh56MFpJOgi51axjQN1BXtiaGlJe2EZyremtvu++++K1If++2Q+os+ExOfj0WqaYaw96petKdyINlHMkPdb0cKe4pgX7POcBUoH4zkkPPumkk+KI7h133BHr7pjQICWc75j1kOJ1RuSos+InaVG1R+fpwWcEI8VJbMBxzbTS+cj18OHDY80FNZf5Oh9gogdGeEihqiTpXp3qEXYMipQ4SdYu2GYmFGZHYCdjWffUU0HyqSZrN6Q50Mi9ZEiUkyzre6SGgnUaFeQRczJhQTzyiRnuPuigg2LgwWdQPlycCrapvFgNNJ4oZCUthhx7hsAZ9meKvZSRBpmnQdHZkE87W17szgUnRY888khsOBJgg3xq8ohJAaEOh7xrAg/WMqB4N6UaNI5p0ltIfSSoAAEUefbl/X8E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",
      "text/plain": [
       "<Figure size 800x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 可视化分析\n",
    "print(\"=== 数据可视化分析 ===\\n\")\n",
    "\n",
    "# 仅基于test.jsonl进行可视化分析\n",
    "\n",
    "# 读取测试集\n",
    "test_data = []\n",
    "with open(os.path.join(data_dir, \"test.jsonl\"), 'r', encoding='utf-8') as f:\n",
    "    for line in f:\n",
    "        test_data.append(json.loads(line.strip()))\n",
    "test_df = pd.DataFrame(test_data)\n",
    "\n",
    "fig_test, axes_test = plt.subplots(1, 2, figsize=(15, 6))\n",
    "\n",
    "# 测试集标签分布\n",
    "axes_test[0].pie(test_df['label'].value_counts().values, \n",
    "                 labels=test_df['label'].value_counts().index, \n",
    "                 autopct='%1.1f%%')\n",
    "axes_test[0].set_title('测试集标签分布')\n",
    "\n",
    "# 测试集文本长度分布\n",
    "test_df['text_length'] = test_df['text'].astype(str).str.len()\n",
    "axes_test[1].hist(test_df['text_length'], bins=50, alpha=0.7)\n",
    "axes_test[1].set_title('测试集文本长度分布')\n",
    "axes_test[1].set_xlabel('文本长度')\n",
    "axes_test[1].set_ylabel('频次')\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "\n",
    "# 打印详细统计信息\n",
    "print(\"测试集详细统计:\")\n",
    "print(f\"  总样本数: {len(test_df)}\")\n",
    "print(f\"  标签种类: {test_df['label'].nunique()}\")\n",
    "print(f\"  平均文本长度: {test_df['text_length'].mean():.2f}\")\n",
    "print(f\"  文本长度范围: {test_df['text_length'].min()} - {test_df['text_length'].max()}\")\n",
    "\n",
    "\n",
    "\n",
    "# 检查是否有subject列\n",
    "if 'subject' in test_df.columns:\n",
    "    print(f\"\\n测试集主题分布:\")\n",
    "    subject_counts = test_df['subject'].value_counts()\n",
    "    print(subject_counts)\n",
    "    # 可视化subject分布\n",
    "    plt.figure(figsize=(8, 5))\n",
    "    subject_counts.plot(kind='bar', color='skyblue')\n",
    "    plt.title('测试集主题分布')\n",
    "    plt.xlabel('主题')\n",
    "    plt.ylabel('样本数')\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "ec32c4fe",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "=== 数据质量分析 ===\n",
      "\n",
      "测试集 (test.jsonl) 分析:\n",
      "  数据形状: (20000, 4)\n",
      "  列名: ['text', 'label', 'subject', 'text_length']\n",
      "\n",
      "缺失值情况:\n",
      "  无缺失值\n"
     ]
    }
   ],
   "source": [
    "# 数据质量分析和特征工程建议\n",
    "print(\"=== 数据质量分析 ===\\n\")\n",
    "\n",
    "# 分析测试集test.jsonl\n",
    "\n",
    "print(f\"测试集 (test.jsonl) 分析:\")\n",
    "print(f\"  数据形状: {test_df.shape}\")\n",
    "print(f\"  列名: {list(test_df.columns)}\")\n",
    "\n",
    "# 检查缺失值\n",
    "print(f\"\\n缺失值情况:\")\n",
    "missing_test = test_df.isnull().sum()\n",
    "if missing_test.sum() == 0:\n",
    "    print(\"  无缺失值\")\n",
    "else:\n",
    "    for col, missing_count in missing_test.items():\n",
    "        if missing_count > 0:\n",
    "            percent = missing_count / len(test_df) * 100\n",
    "            print(f\"  {col}: {missing_count} 个缺失值 ({percent:.2f}%)\")\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "24b14530",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "nlp_base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.18"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
